package com.agan.workflow.service;

import java.util.List;
import com.agan.workflow.domain.BpmDefinition;
import com.baomidou.mybatisplus.core.metadata.IPage;

/**
 * 流程定义Service接口
 * 
 * @author agan
 * @date 2024-01-11
 */
public interface IBpmDefinitionService 
{
    /**
     * 查询流程定义
     * 
     * @param defId 流程定义主键
     * @return 流程定义
     */
    public BpmDefinition selectBpmDefinitionByDefId(Long defId);

    /**
     * 查询流程定义列表
     * 
     * @param bpmDefinition 流程定义
     * @return 流程定义集合
     */
    IPage<BpmDefinition> selectBpmDefinitionList(BpmDefinition bpmDefinition);

    /**
     * 新增流程定义
     * 
     * @param bpmDefinition 流程定义
     * @return 结果
     */
    public int insertBpmDefinition(BpmDefinition bpmDefinition);

    /**
     * 修改流程定义
     * 
     * @param bpmDefinition 流程定义
     * @return 结果
     */
    public int updateBpmDefinition(BpmDefinition bpmDefinition);

    /**
     * 批量删除流程定义
     * 
     * @param defIds 需要删除的流程定义主键集合
     * @return 结果
     */
    public int deleteBpmDefinitionByDefIds(Long[] defIds);

    /**
     * 删除流程定义信息
     * 
     * @param defId 流程定义主键
     * @return 结果
     */
    public int deleteBpmDefinitionByDefId(Long defId);
}
